package com.wei.youvie.exception;

public class ThrowUtils {

    /**
     * 在条件满足时抛出异常
     *
     * @param condition 条件
     * @param e         要抛出的异常
     * @throws RuntimeException 如果条件满足，则抛出指定的异常
     */
    public static void throwIf (boolean condition, RuntimeException e) {
        if (condition) {
            throw e;
        }
    }

    /**
     * 当条件满足时抛出异常。
     *
     * @param condition 判断条件，当条件为true时抛出异常
     * @param errorCode 错误码，用于指示抛出的异常类型
     * @throws BusinessException 当condition为true时抛出BusinessException异常
     */
    public static void throwIf(boolean condition, ErrorCode errorCode) {
        if (condition) {
            throw new BusinessException(errorCode);
        }
    }

    /**
     * 如果条件为真，则抛出 BusinessException 异常。
     *
     * @param condition 条件，如果为 true 则抛出异常
     * @param code      异常代码
     * @param message   异常信息
     * @throws BusinessException 如果条件为 true，则抛出 BusinessException 异常
     */
    public static void throwIf(boolean condition, int code, String message) {
        if (condition) {
            throw new BusinessException(code, message);
        }
    }
}
